home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 19
/
CU Amiga Magazine's Super CD-ROM 19 (1998)(EMAP Images)(GB)[!][issue 1998-02].iso
/
CUCD
/
Programming
/
LEDA
/
prog
/
basic
/
sort.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-08-05
|
2KB
|
113 lines
#include <LEDA/basic.h>
#include <LEDA/list.h>
#include <LEDA/array.h>
int main ()
{
int i;
int N = read_int("N = ");
float T = used_time();
cout << "building arrays ";
cout.flush();
array<int> Ai(N);
array<float> Af(N);
array<double> Ad(N);
for (i = 0; i < N; i++) Ad[i] = Af[i] = Ai[i] = random(1,1000000);
cout << string(" %5.3f sec",used_time(T));
newline;
cout << "building lists ";
cout.flush();
list<int> Li;
list<float> Lf;
list<double> Ld;
for (i = 0; i < N; i++)
{ Li.append(Ai[i]);
Lf.append(Af[i]);
Ld.append(Ad[i]);
}
cout << string(" %5.3f sec",used_time(T));
newline;
newline;
cout << "sorting array<int> ";
cout.flush();
Ai.sort();
cout << string(" %5.3f sec",used_time(T));
newline;
cout << "sorting again ";
cout.flush();
Ai.sort();
cout << string(" %5.3f sec",used_time(T));
newline;
cout << "sorting array<float> ";
cout.flush();
Af.sort();
cout << string(" %5.3f sec",used_time(T));
newline;
cout << "sorting array<double>";
cout.flush();
Ad.sort();
cout << string(" %5.3f sec",used_time(T));
newline;
newline;
cout << "sorting list<int> ";
cout.flush();
Li.sort();
cout << string(" %5.3f sec",used_time(T));
newline;
cout << "sorting again ";
cout.flush();
Li.sort();
cout << string(" %5.3f sec",used_time(T));
newline;
cout << "sorting list<float> ";
cout.flush();
Lf.sort();
cout << string(" %5.3f sec",used_time(T));
newline;
cout << "sorting list<double> ";
cout.flush();
Ld.sort();
cout << string(" %5.3f sec",used_time(T));
newline;
newline;
cout << "test sorting ";
cout.flush();
for(i=0;i<N;i++)
{ int x = Li.pop();
float y = Lf.pop();
double z = Ld.pop();
if (x != y || y != z || z != Ai[i] || Ai[i] != Af[i] || Af[i] != Ad[i])
cout << "ERROR\n";
}
cout << string(" %5.3f sec",used_time(T));
newline;
}